package com.ls.lserp.modules.material.dao;




import java.util.List;

import com.ls.lserp.common.persistence.CrudDao;
import com.ls.lserp.common.persistence.annotation.MyBatisDao;
import com.ls.lserp.modules.material.entity.MaterialOutInbound;
import com.ls.lserp.modules.purchase.entity.PuttingRequest;
@MyBatisDao
public interface MaterialOutboundDao extends CrudDao<MaterialOutInbound>{
	
	/**
	  * @Title: findRequestDetail
	  * @Description: 出库申请明细
	  * @param @param MaterialOutInbound
	  * @param @return
	  * @return List<MaterialOutInbound> 
	  * @throws
	  */
	public List<MaterialOutInbound> findRequestDetail(MaterialOutInbound materialOutInbound);
	/**
	 * 出库申请单
	 * @param inventoryRequest
	 * @return
	 */
	public MaterialOutInbound getPuttingInfo(PuttingRequest puttingRequest);
	/**
	 * 出库申请单
	 * @param inventoryRequest
	 * @return
	 */
	public MaterialOutInbound getInfo(MaterialOutInbound materialOutInbound);
	/**
	  * @Title: findRequestDetail
	  * @Description: 出库申请明细
	  * @param @param MaterialOutInbound
	  * @param @return
	  * @return List<MaterialOutInbound> 
	  * @throws
	  */
	public List<MaterialOutInbound> findInventoryMaterialDetailList(MaterialOutInbound materialOutInbound);
	/**
	 * 物理删除
	 * @param inventoryRequest
	 * @return
	 */
	public int deleteMaterialDetail(MaterialOutInbound materialOutInbound);
	/**
	 * 插入
	 * @param inventoryRequest
	 * @return
	 */
	public int insertDetail(MaterialOutInbound materialOutInbound);
	/**
	  * @Title: findRequestDetailsList
	  * @Description: 更新数量
	  * @param @param materialOutInbound
	  * @param @return
	  * @return 
	  * @throws
	  */
	public int updateDetail(MaterialOutInbound materialOutInbound);
	/**
	  * @Title: findRequestDetailsList
	  * @Description: 更新数量
	  * @param @param materialOutInbound
	  * @param @return
	  * @return 
	  * @throws
	  */
	public int updateQuantity(MaterialOutInbound materialOutInbound);
	/**
	  * @Title: findRequestDetailsList
	  * @Description: 查询数量
	  * @param @param materialOutInbound
	  * @param @return
	  * @return 
	  * @throws
	  */
	public MaterialOutInbound getQuantity(MaterialOutInbound materialOutInbound);
	/**
	  * @Title: findRequestDetailsList
	  * @Description: 更新状态
	  * @param @param materialOutInbound
	  * @param @return
	  * @return 
	  * @throws
	  */
	public int changeStatus(MaterialOutInbound materialOutInbound);
	
}
